훌륭한 시각화 2

visualization
Author

강신성

Published

2023-11-13

훌륭한 시각화란 무엇일까…

해당 포스트는 전북대학교 통계학과 최규빈 교수님의 강의내용을 토대로 재구성되었음을 알립니다.

1. Presentation vs Exploration

두 방식의 차이와, 장단점은 무엇일까?

A. Presentation


- 프리젠테이션 방식의 시각화는 화자가 다듬은 이야기를 전달하기에 좋은 시각화이다. 즉, 잘 정리된 메시지를 전달하기에 좋다.

### B. Exploration

문학적유기체라는 작품으로 어떤 소설책을 시각화한 것이다.

수형도와 색깔로 구성되고, 수형도는 단원 \(\leftarrow\) 문단 \(\leftarrow\) 문장 \(\leftarrow\) 단어 순으로 뻗어진다. 색깔은 소설에서 등장하는 소재를 구분(범주형 변수 표현에 적합)한다.

- 익스플로래이션 방식은 독자가 스스로 그림에서 메시지를 찾아내도록 한다. 소설을 읽어보지 않은 사람은 해당 그래픽으로 소설책의 전체 주제를 미리 파악할 수 있고, 읽어본 사람은 분석 및 탐구를 할 수 있을 것이다.

C. 절충


- 카이로 : 사실 프리젠테이션과 익스플로래이션은 절충 가능하다.

## 이 그림을 보면 아래의 코드가 생각나야 함
fig = ggplot(tidydata)
line = geom_line(aes(x = '소득', y = '불평등', color = '정부'))
point = geom_point(aes(x = '소득', y = '불평등'))
text = geom_text(aes(x = '소득', y = '불평등', label = '연도'))

fig + line + point + text
  • 초록색 정부 : 소득이 증가 & 불평등이 훨씬 더 증가
  • 갈색 정부 : 매우 빠른 경제성장 & 불평등의 해소
  • 포인트 간의 간격이 조밀하다 = 변화가 더디다 // 포인트 간의 간격이 넓다 = 변화가 빠르다.

- 언뜻 보기에는 익숙한 라인플랏처럼 보이지만, 해석할 만한 정보가 많다.

익스플로레이션 형태의 그래프는 그릴 줄도 알아야 하지만, 남이 그린 그래프를 해석할 수도 있어야 한다.

2. 이성적 낙관주의

### A. 인구문제

- 주장 1 : 가난한 나라에서 애를 너무 많이 낳음 \(\leftarrow\) 세계인구가 90억까지 증가할 것이다.

- 주장 2 : 잘사는 나라에서 애를 적게 낳음 \(\leftarrow\) 극심한 고령화 문제가 발생할 것이다.

B. 리들리의 메시지


둘다 틀렸는뎁쇼???

- 가난한 나라의 출산율은 점점 감소

- 잘 사는 사라의 출산율은 점점 증가

따라서 세계의 인구는 안정화되고, 고령화 문제도 오지 않을 것이다.

### C. 카이로

- 리들러의 메시지는 아래의 그림들이 더 잘 전달한다.

fig = ggplot(tidydata)
line = geom_line(aes(x = '연도', y = '인구증가율', color = '국가'))
fig + line
  • 노르웨이, 영국, 스웨덴, 스페인, 이탈리아의 경우 출산율이 반등함(일본과 독일의 경우는 감소세가 아주 누그러듬)
  • 인도, 브라질, 중국과 같은 나라는 출산율이 대폭 감소

D. 교수님 소감


- 어떠한 현상을 살펴볼 때, 그것의 부분집합들이 역시 그러한 지 살펴보는 것은 기본임.

- 중요한 선을 제외한 나머지는 일러레를 통해 회색으로 처리한 것이 시각적으로 우수하다.

- 과학적인 논문작업에 들어갈 그림이라면 임의로 회색처리한 것이 다소 비판을 받을 수 있음.

3. 시각화 예시

### A. 상관관계의 해석

중졸 여성의 비율과 출산율을 나타냄

- 해설 : 당신이 더 교육받고 부유할수록, 가질 아이들의 수는 적어집니다.

??? 여중을 다 때려부수면 출산율이 올라가나요?

B. 남미 국가들의 국방력


- 교수님께선 이를 쓸모없는 그래픽이라고 말씀하셨지…(뭐 기억나는 게 있나요?)

- 아래가 더 우수한 그림이다.(바 차트)

- 그리고 이게 더 우수한 시각화이다.(분야별 바 차트)

  • 분야별 비교가 유용하다. 브라질의 국방력은 모든 지표에서 1등인 것 같다.
  • 브라질을 하이라이팅한 것도 우아함…(라고 하셨음)

근데 흑막을 제거하면 어떻게 될까.


- 흑막을 제거

인구라는 흑막을 제거하고 보니 인구당 군인수도, 국방비 지출도, 군인 당 교육 투자비도 높지 않다.

즉, 내실이 없다.

- 최종적으로 제안하는 그래프

  • 우측하단 : 관심있는 그래프가 아님(지역적 특성을 나타냈을뿐…)
  • 좌측하단 : 산점도??
fig = ggplot(tidydata)
point = geom_point(aes(x = '인구', y = '군인 수', size = '예산'), alpha = 0.5)
point2 = geom_point(aes(x = '인구', y = '군인 수'))
fig + point + point2
교수님 : 사실 저는 아래의 그래프가 좋은 시각화라고 생각 안해요.

- x축과 y축에 비슷한 정보가 들어가있다. 모든 점들이 직선에 몰려있다면 왜 2차원으로 표현해야 할까???

산점도에서 데이터를 한눈에 파악하고 특징을 요약하기 위해서는 \(x\)축과 \(y\)축을 너무 비슷한 성질의 변수로 설정하지 마라.

fig1 = fig + geom_point(aes(x = '토익', y = '텝스', color = '합격여부', shape = '회사명'))
fig2 = fig + geom_point(aes(x = '토익', y = 'GPA', color = '합격여부', shape = '회사명'))

fig2가 더 합리적이다.(토익과 텝스가 유사한 항목이라면…)

C. 스페인의 실업률


* 명암으로 왜 크기비교를 하는 것인가??? 게다가 명암으로 한 크기비교마저 이상한데???

비교를 위해서는 바플랏이 더 우수하다.

### D. 은행들의 시가총액

- 카이로 교수햄의 강의자료에 등장하는 그림(bubble chart)

- 회색이 before, 검은색이 after임

우리 눈은 부피의 비교를 잘 못하기 때문에, 해당 차트는 결과를 왜곡한다… 버블 차트의 경우 크기를 왜곡시키므로 사용을 지양해야 한다.

E. 분열된 유권자들


- 하지만 아래의 버블차트는 우수하다.(왜? 크기비교 자체가 목적이 아니므로)

  • 선거 지도의 경우 수치 비교에 별로 관심이 없다.(미국의 경우 간접선거라 그럼…)
  • 민주당표와 공화당표가 어떤 지역에 몰렸는지 파악하는 것이 중요하므로, aes중 가장 중요한 \(x\)\(y\)를 모두 지역정보를 표현하기 위해 투자함(좌표)

### F. 좋은 aes 속성들(일반적으로…)

아래로 갈수록 뭔가 난잡해지고 있음…

- 근데 스티븐 잡스는 하위에 해당하는 Volume 방식으로 시각화를 했음.

  • 왜???

자사의 점유율이 높아보이도록 트릭을 쓴 것이라고 본다.

4. 시각화의 정석

그래서, 어떻게 하라는 건데요???

  • 시간 경과에 따른 변화를 보여주고 싶다!(시계열 자료) > 라인플랏

  • 집단 간 비교를 하고 싶다! > 바플랏

  • 변수 간 관계를 알고 싶다! > 산점도